a7cca09310c97271e989871c761d663e3a175071,oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/RevisionGC.java,RevisionGC,startRevisionGC,#,61

Before Change


    @Nonnull
    @Override
    public String startRevisionGC() {
        if (gcOp != null && !gcOp.isDone()) {
            return "Garbage collection already running";
        } else {
            gcOp = new FutureTask<Long>(new Callable<Long>() {
                @Override
                public Long call() throws Exception {
                    long t0 = System.nanoTime();
                    gc.run();
                    return System.nanoTime() - t0;
                }
            });
            executor.execute(gcOp);
            return getRevisionGCStatus();
        }
    }

After Change


    @Nonnull
    @Override
    public CompositeData startRevisionGC() {
        if (gcOp.isDone()) {
            gcOp = new ManagementOperation(OP_NAME, new Callable<Long>() {
                @Override
                public Long call() throws Exception {
                    long t0 = nanoTime();
                    gc.run();
                    return nanoTime() - t0;
                }
            });
            executor.execute(gcOp);
        }
        return getRevisionGCStatus();
    }

    @Nonnull